小编典典

动作栏背景图片

xml

我继承了 Holo Light Theme 并使用以下内容自定义了 ActionBar 的背景:

styles.xml 的内容

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ActionBar" parent="@android:style/Widget.Holo.ActionBar">
<item name="android:background">@drawable/actionbar_background</item>
</style>
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/ActionBar</item>
</style>
</resources>
actionbar_background.xml 的内容

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@raw/actionbar_background"
android:tileMode="repeat" />

图像没有被重复,而是被拉伸,知道为什么不应用 android:tileMode=”repeat” 吗?

提前致谢


阅读 269

收藏
2022-07-14

共2个答案

小编典典

Drawable d=getResources().getDrawable(R.drawable.background_image_name);  
getActionBar().setBackgroundDrawable(d);

上面的代码设置了操作栏的背景图片。
希望能帮助到你。

2022-07-14
小编典典

感谢#android-dev IRC 频道上的 Romain Guy,这是 honeycomb / Android 3.0 上的一个已知错误,将在下一个版本中修复。从那时起,唯一的解决方案就是从代码中完成,它可以工作:-)

final ActionBar actionBar = getActionBar(); BitmapDrawable background = new BitmapDrawable (BitmapFactory.decodeResource(getResources(), R.raw.actionbar_background)); background.setTileModeX(android.graphics.Shader.TileMode.REPEAT); actionBar.setBackgroundDrawable(background);

2022-07-14